package com.ruoyi.system.domain;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * 【请填写功能名称】对象 traceability
 * 
 * @author ruoyi
 * @date 2024-11-30
 */
@Data
public class Traceability extends BaseEntity
{
    private static final Long serialVersionUID = 1L;

    /** $column.columnComment */
    private BigDecimal id;

    /** 序号 */
    @Excel(name = "序号")
    private Long number;

    /** 任务编号 */
    @Excel(name = "任务编号")
    private String taskId;

    /** 测试编号 */
    @Excel(name = "测试编号")
    private String testId;

    /** 检定区间 */
    @Excel(name = "检定区间")
    private Long testInterval;

    /** 正向耗时 */
    @Excel(name = "正向耗时")
    private BigDecimal dueTime;

    /** 反向耗时 */
    @Excel(name = "反向耗时")
    private BigDecimal revTime;

    /** 正向实测速度 */
    @Excel(name = "正向实测速度")
    private BigDecimal dueSpeed;

    /** 反向实测速度 */
    @Excel(name = "反向实测速度")
    private BigDecimal revSpeed;

    /** 正向瞬时速度 */
    @Excel(name = "正向瞬时速度")
    private BigDecimal dueInstantaneous;

    /** 正向瞬时速度 */
    @Excel(name = "正向瞬时速度")
    private BigDecimal revInstantaneous;

    /** 正向速度变化率 */
    @Excel(name = "正向速度变化率")
    private BigDecimal dueChange;

    /** 反向速度变化率 */
    @Excel(name = "反向速度变化率")
    private BigDecimal revChange;

    /** 耗时 */

    private BigDecimal absTime;

    /** 实测速度 */

    private BigDecimal absSpeed;

  

    /** 瞬时速度 */

    private BigDecimal absInstantaneous;

    /** 标准测量速度 */

    private BigDecimal testSpeed;

    /** 速度变化率 */

    private BigDecimal absChange;
    /** 方向 正向 反向 */
    private String orientation;
    /** 测次 1，2，3*/
    private Long frequency;


    private Long startNum;

    /** 序号 */
    @Excel(name = "序号")
    private Long endNum;



    public void setAbsTime(BigDecimal absTime) {
        // 设置BigDecimal的精度为2，并进行四舍五入
        this.absTime = absTime.setScale(3, RoundingMode.HALF_UP);
    }
    public void setAbsSpeed(BigDecimal absSpeed) {
        // 设置BigDecimal的精度为2，并进行四舍五入
        this.absSpeed = absSpeed.setScale(2, RoundingMode.HALF_UP);
    }
    public void setAbsInstantaneous(BigDecimal absInstantaneous) {
        // 设置BigDecimal的精度为2，并进行四舍五入
        this.absInstantaneous = absInstantaneous.setScale(4, RoundingMode.HALF_UP);
    }
    public void setAbsChange(BigDecimal absChange) {
        // 设置BigDecimal的精度为2，并进行四舍五入
        this.absChange = absChange.setScale(3, RoundingMode.HALF_UP);
    }
}
